In radio access networks, scheduling is a process that is used to achieve fair and efficient usage of the available radio resources. Scheduling can be used to control and determine which wireless device, e.g., user equipment (UE) should be communicating data with a particular node, e.g., base station, and which radio resources that communication should utilize. For example, in Long Term Evolution (LTE) networks, the uplink scheduler in the base station (i.e., an evolved NodeB, or “eNodeB”) receives scheduling requests and buffer state reports (BSRs) from the wireless devices. The eNodeB (eNB) decides how to assign the available scheduling blocks (SBs) to the wireless devices based on information such as the total uplink capacity, each wireless device's buffer status and the Quality of Service (QoS) requirements, and each wireless device's channel quality for different frequencies. Based on this information, the eNB sends uplink scheduling grants to the wireless devices, and the wireless devices transmit data to the eNB according to the received scheduling grants.
With the emergence of newer wireless services, a wireless device typically needs to carry multiple services from multiple radio bearers simultaneously. Radio bearers are typically prioritized based on the QoS requirements of their carried services. For instance, a radio bearer with voice data usually has a higher priority than a bearer with non-real-time data from services such as web browsing and File Transfer Protocol (FTP), etc. To avoid substantial signaling load on the air interface, the radio bearers are usually grouped into multiple bearer groupings, such as (in the LTE network scenario) logical channel groups (LCGs), where each LCG can only contain services with similar QoS requirements. BSRs are sent by the wireless devices to the eNB to report their buffer status per LCG. The QoS requirements such as the priorities of radio bearers in an LCG are translated into a weight function, which is used to prioritize the LCGs in each Transit Time Interval (TTI) for scheduling. Wireless devices compete for scheduling resources in every TTI based on their weights. When a wireless device has multiple LCGs, its scheduling weight is set as the highest weight of its LCGs. Wireless devices having a higher weight receive a higher probability of being scheduled.
Due to the single-carrier property of typical access schemes used in uplink transmission, such as Single Carrier Frequency Division Multiple Access (SC-FDMA), the uplink scheduling scheme is usually per-wireless device based. Thus, the scheduling weight of a wireless device is set as the highest weight of its LCGs, and the wireless device's buffer size is set to the sum of the buffer size of all its LCGs. Thus, when a wireless device has multiple LCGs with different priorities, the scheduling of a lower priority LCG may occur, even though LCGs associated with other wireless devices might have higher priority LCGs. This is known as “free riding.” In this case, if the uplink resources are limited, a higher priority LCG of another wireless device may not be scheduled due to the free-riding data from the lower priority LCG, leading to inefficient scheduling.